// ****************************************************************************** 
// Copyright     :  Copyright (C) 2018, Hisilicon Technologies Co. Ltd.
// File name     :  gic_emu_regs_c_union_define.h
// Project line  :  Platform And Key Technologies Development
// Department    :  CAD Development Department
// Author        :  xxx
// Version       :  1
// Date          :  2013/3/10
// Description   :  The description of xxx project
// Others        :  Generated automatically by nManager V4.2 
// History       :  xxx 2018/05/11 14:50:31 Create file
// ******************************************************************************

#ifndef __GIC_EMU_REGS_C_UNION_DEFINE_H__
#define __GIC_EMU_REGS_C_UNION_DEFINE_H__

/* Define the union U_GIC_EMU_REGS_CNT_CLR_CE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    rsv_0        : 23  ; /* [31:9] */
        unsigned int    emu_mode_sel : 5  ; /* [8:4] */
        unsigned int    rsv_1        : 2  ; /* [3:2] */
        unsigned int    snap_en      : 1  ; /* [1] */
        unsigned int    cnt_clr_ce   : 1  ; /* [0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GIC_EMU_REGS_CNT_CLR_CE;

/* Define the union U_EMU_CLR_PRI_EQ_RDCPT */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_pri_eq_rdcpt : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_CLR_PRI_EQ_RDCPT;

/* Define the union U_EMU_CLR_NOVLD_INCPT */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_clr_novld_incpt : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_CLR_NOVLD_INCPT;

/* Define the union U_EMU_SET_NOVLD_INCPT */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_set_novld_incpt : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_SET_NOVLD_INCPT;

/* Define the union U_EMU_SET_PRI_GT_RDCPT */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_set_pri_gt_rdcpt : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_SET_PRI_GT_RDCPT;

/* Define the union U_EMU_INV_VLD_INCPT */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_inv_vld_incpt : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_INV_VLD_INCPT;

/* Define the union U_EMU_CLR_1W */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_clr_1w : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_CLR_1W;

/* Define the union U_EMU_SET_ADD_ENABLE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_set_add_enable : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_SET_ADD_ENABLE;

/* Define the union U_EMU_CMD_LPI_MOVRTY_DONE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_cmd_lpi_movrty_done : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_CMD_LPI_MOVRTY_DONE;

/* Define the union U_EMU_CMD_LPI_MOV_DONE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_cmd_lpi_mov_done : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_CMD_LPI_MOV_DONE;

/* Define the union U_EMU_LPI_CACHE_RPL */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_lpi_cache_rpl : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_LPI_CACHE_RPL;

/* Define the union U_EMU_LPI_RTY_FLAG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_lpi_rty_flag : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_LPI_RTY_FLAG;

/* Define the union U_EMU_MOV_ID_INCACHE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_mov_id_incache : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_MOV_ID_INCACHE;

/* Define the union U_EMU_INV_ID_INCACHE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_inv_id_incache : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_INV_ID_INCACHE;

/* Define the union U_EMU_CLR_ID_INCACHE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_clr_id_incache : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_CLR_ID_INCACHE;

/* Define the union U_EMU_SET_ID_INCACHE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_set_id_incache : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_SET_ID_INCACHE;

/* Define the union U_EMU_SET_CF_INCACHE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_set_cf_incache : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_SET_CF_INCACHE;

/* Define the union U_EMU_MOVALL */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_movall : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_MOVALL;

/* Define the union U_EMU_INVALL */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_invall : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_INVALL;

/* Define the union U_EMU_MOV */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_mov : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_MOV;

/* Define the union U_EMU_INV */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_inv : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_INV;

/* Define the union U_EMU_CLR */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_clr : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_CLR;

/* Define the union U_EMU_SET */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_set : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_SET;

/* Define the union U_EMU_RTY_MOV_BERR */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_rty_mov_berr : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_RTY_MOV_BERR;

/* Define the union U_EMU_BUFF_FULL */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_buff_full : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_BUFF_FULL;

/* Define the union U_EMU_RTY_MOV_BOK */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_rty_mov_bok : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_RTY_MOV_BOK;

/* Define the union U_EMU_GICR_INVALL_ACK */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_gicr_invall_ack : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_GICR_INVALL_ACK;

/* Define the union U_EMU_GICR_VCMDB_REQ */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_gicr_vcmdb_req : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_GICR_VCMDB_REQ;

/* Define the union U_EMU_VCMD_DOORBELL_GNT */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_vcmd_doorbell_gnt : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_VCMD_DOORBELL_GNT;

/* Define the union U_EMU_VCMD_DOORBELL_PDING */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_vcmd_doorbell_pding : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_VCMD_DOORBELL_PDING;

/* Define the union U_EMU_GICR_CMDB_REQ */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_gicr_cmdb_req : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_GICR_CMDB_REQ;

/* Define the union U_EMU_CMDID_ALL_1W */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_cmdid_all_1w : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_CMDID_ALL_1W;

/* Define the union U_EMU_CMDB_FIFO_PFULL */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_cmdb_fifo_pfull : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_CMDB_FIFO_PFULL;

/* Define the union U_EMY_SYNC_CARE_CNT_FULL */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_sync_care_cnt_full : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMY_SYNC_CARE_CNT_FULL;

/* Define the union U_EMU_MOV_CNT_FULL */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_mov_cnt_full : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_MOV_CNT_FULL;

/* Define the union U_EMU_TWO_CMDB_FIFO_PFULL */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_two_cmdb_fifo_pfull : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_TWO_CMDB_FIFO_PFULL;

/* Define the union U_EMU_SET_ADD_SAMETIME */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_set_add_smaetime : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_SET_ADD_SAMETIME;

/* Define the union U_EMU_STREAM_PFULL */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_stream_irq_replace : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_STREAM_PFULL;

/* Define the union U_EMU_STREAM_IRQ_REPLACE */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_stream_pfull : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_STREAM_IRQ_REPLACE;

/* Define the union U_EMU_STREAM_TOUT */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emu_stream_irq_tout : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMU_STREAM_TOUT;


//==============================================================================
/* Define the global struct */
typedef struct
{
    volatile U_GIC_EMU_REGS_CNT_CLR_CE GIC_EMU_REGS_CNT_CLR_CE    ; /* A000 */
    volatile U_EMU_CLR_PRI_EQ_RDCPT    EMU_CLR_PRI_EQ_RDCPT[2]    ; /* A004 */
    volatile U_EMU_CLR_NOVLD_INCPT     EMU_CLR_NOVLD_INCPT[2]     ; /* A008 */
    volatile U_EMU_SET_NOVLD_INCPT     EMU_SET_NOVLD_INCPT[2]     ; /* A00C */
    volatile U_EMU_SET_PRI_GT_RDCPT    EMU_SET_PRI_GT_RDCPT[2]    ; /* A010 */
    volatile U_EMU_INV_VLD_INCPT       EMU_INV_VLD_INCPT[2]       ; /* A014 */
    volatile U_EMU_CLR_1W              EMU_CLR_1W[2]              ; /* A018 */
    volatile U_EMU_SET_ADD_ENABLE      EMU_SET_ADD_ENABLE[2]      ; /* A01C */
    volatile U_EMU_CMD_LPI_MOVRTY_DONE EMU_CMD_LPI_MOVRTY_DONE[2] ; /* A020 */
    volatile U_EMU_CMD_LPI_MOV_DONE    EMU_CMD_LPI_MOV_DONE[2]    ; /* A024 */
    volatile U_EMU_LPI_CACHE_RPL       EMU_LPI_CACHE_RPL[2]       ; /* A028 */
    volatile U_EMU_LPI_RTY_FLAG        EMU_LPI_RTY_FLAG[2]        ; /* A02C */
    volatile U_EMU_MOV_ID_INCACHE      EMU_MOV_ID_INCACHE[2]      ; /* A030 */
    volatile U_EMU_INV_ID_INCACHE      EMU_INV_ID_INCACHE[2]      ; /* A034 */
    volatile U_EMU_CLR_ID_INCACHE      EMU_CLR_ID_INCACHE[2]      ; /* A038 */
    volatile U_EMU_SET_ID_INCACHE      EMU_SET_ID_INCACHE[2]      ; /* A03C */
    volatile U_EMU_SET_CF_INCACHE      EMU_SET_CF_INCACHE[2]      ; /* A040 */
    volatile U_EMU_MOVALL              EMU_MOVALL[2]              ; /* A044 */
    volatile U_EMU_INVALL              EMU_INVALL[2]              ; /* A048 */
    volatile U_EMU_MOV                 EMU_MOV[2]                 ; /* A04C */
    volatile U_EMU_INV                 EMU_INV[2]                 ; /* A050 */
    volatile U_EMU_CLR                 EMU_CLR[2]                 ; /* A054 */
    volatile U_EMU_SET                 EMU_SET[2]                 ; /* A058 */
    volatile U_EMU_RTY_MOV_BERR        EMU_RTY_MOV_BERR[2]        ; /* A05C */
    volatile U_EMU_BUFF_FULL           EMU_BUFF_FULL[2]           ; /* A060 */
    volatile U_EMU_RTY_MOV_BOK         EMU_RTY_MOV_BOK[2]         ; /* A064 */
    volatile U_EMU_GICR_INVALL_ACK     EMU_GICR_INVALL_ACK        ; /* A068 */
    volatile U_EMU_GICR_VCMDB_REQ      EMU_GICR_VCMDB_REQ         ; /* A06C */
    volatile U_EMU_VCMD_DOORBELL_GNT   EMU_VCMD_DOORBELL_GNT      ; /* A070 */
    volatile U_EMU_VCMD_DOORBELL_PDING EMU_VCMD_DOORBELL_PDING    ; /* A074 */
    volatile U_EMU_GICR_CMDB_REQ       EMU_GICR_CMDB_REQ          ; /* A07C */
    volatile U_EMU_CMDID_ALL_1W        EMU_CMDID_ALL_1W[2]        ; /* A080 */
    volatile U_EMU_CMDB_FIFO_PFULL     EMU_CMDB_FIFO_PFULL[2]     ; /* A084 */
    volatile U_EMY_SYNC_CARE_CNT_FULL  EMY_SYNC_CARE_CNT_FULL[2]  ; /* A088 */
    volatile U_EMU_MOV_CNT_FULL        EMU_MOV_CNT_FULL[2]        ; /* A08C */
    volatile U_EMU_TWO_CMDB_FIFO_PFULL EMU_TWO_CMDB_FIFO_PFULL[2] ; /* A090 */
    volatile U_EMU_SET_ADD_SAMETIME    EMU_SET_ADD_SAMETIME[2]    ; /* A094 */
    volatile U_EMU_STREAM_PFULL        EMU_STREAM_PFULL           ; /* A200 */
    volatile U_EMU_STREAM_IRQ_REPLACE  EMU_STREAM_IRQ_REPLACE     ; /* A204 */
    volatile U_EMU_STREAM_TOUT         EMU_STREAM_TOUT            ; /* A208 */

} S_gic_emu_regs_REGS_TYPE;

/* Declare the struct pointor of the module gic_emu_regs */
extern volatile S_gic_emu_regs_REGS_TYPE *gopgic_emu_regsAllReg;

/* Declare the functions that set the member value */
int iSetGIC_EMU_REGS_CNT_CLR_CE_emu_mode_sel(unsigned int uemu_mode_sel);
int iSetGIC_EMU_REGS_CNT_CLR_CE_snap_en(unsigned int usnap_en);
int iSetGIC_EMU_REGS_CNT_CLR_CE_cnt_clr_ce(unsigned int ucnt_clr_ce);
int iSetEMU_CLR_PRI_EQ_RDCPT_emu_pri_eq_rdcpt(unsigned int uemu_pri_eq_rdcpt);
int iSetEMU_CLR_NOVLD_INCPT_emu_clr_novld_incpt(unsigned int uemu_clr_novld_incpt);
int iSetEMU_SET_NOVLD_INCPT_emu_set_novld_incpt(unsigned int uemu_set_novld_incpt);
int iSetEMU_SET_PRI_GT_RDCPT_emu_set_pri_gt_rdcpt(unsigned int uemu_set_pri_gt_rdcpt);
int iSetEMU_INV_VLD_INCPT_emu_inv_vld_incpt(unsigned int uemu_inv_vld_incpt);
int iSetEMU_CLR_1W_emu_clr_1w(unsigned int uemu_clr_1w);
int iSetEMU_SET_ADD_ENABLE_emu_set_add_enable(unsigned int uemu_set_add_enable);
int iSetEMU_CMD_LPI_MOVRTY_DONE_emu_cmd_lpi_movrty_done(unsigned int uemu_cmd_lpi_movrty_done);
int iSetEMU_CMD_LPI_MOV_DONE_emu_cmd_lpi_mov_done(unsigned int uemu_cmd_lpi_mov_done);
int iSetEMU_LPI_CACHE_RPL_emu_lpi_cache_rpl(unsigned int uemu_lpi_cache_rpl);
int iSetEMU_LPI_RTY_FLAG_emu_lpi_rty_flag(unsigned int uemu_lpi_rty_flag);
int iSetEMU_MOV_ID_INCACHE_emu_mov_id_incache(unsigned int uemu_mov_id_incache);
int iSetEMU_INV_ID_INCACHE_emu_inv_id_incache(unsigned int uemu_inv_id_incache);
int iSetEMU_CLR_ID_INCACHE_emu_clr_id_incache(unsigned int uemu_clr_id_incache);
int iSetEMU_SET_ID_INCACHE_emu_set_id_incache(unsigned int uemu_set_id_incache);
int iSetEMU_SET_CF_INCACHE_emu_set_cf_incache(unsigned int uemu_set_cf_incache);
int iSetEMU_MOVALL_emu_movall(unsigned int uemu_movall);
int iSetEMU_INVALL_emu_invall(unsigned int uemu_invall);
int iSetEMU_MOV_emu_mov(unsigned int uemu_mov);
int iSetEMU_INV_emu_inv(unsigned int uemu_inv);
int iSetEMU_CLR_emu_clr(unsigned int uemu_clr);
int iSetEMU_SET_emu_set(unsigned int uemu_set);
int iSetEMU_RTY_MOV_BERR_emu_rty_mov_berr(unsigned int uemu_rty_mov_berr);
int iSetEMU_BUFF_FULL_emu_buff_full(unsigned int uemu_buff_full);
int iSetEMU_RTY_MOV_BOK_emu_rty_mov_bok(unsigned int uemu_rty_mov_bok);
int iSetEMU_GICR_INVALL_ACK_emu_gicr_invall_ack(unsigned int uemu_gicr_invall_ack);
int iSetEMU_GICR_VCMDB_REQ_emu_gicr_vcmdb_req(unsigned int uemu_gicr_vcmdb_req);
int iSetEMU_VCMD_DOORBELL_GNT_emu_vcmd_doorbell_gnt(unsigned int uemu_vcmd_doorbell_gnt);
int iSetEMU_VCMD_DOORBELL_PDING_emu_vcmd_doorbell_pding(unsigned int uemu_vcmd_doorbell_pding);
int iSetEMU_GICR_CMDB_REQ_emu_gicr_cmdb_req(unsigned int uemu_gicr_cmdb_req);
int iSetEMU_CMDID_ALL_1W_emu_cmdid_all_1w(unsigned int uemu_cmdid_all_1w);
int iSetEMU_CMDB_FIFO_PFULL_emu_cmdb_fifo_pfull(unsigned int uemu_cmdb_fifo_pfull);
int iSetEMY_SYNC_CARE_CNT_FULL_emu_sync_care_cnt_full(unsigned int uemu_sync_care_cnt_full);
int iSetEMU_MOV_CNT_FULL_emu_mov_cnt_full(unsigned int uemu_mov_cnt_full);
int iSetEMU_TWO_CMDB_FIFO_PFULL_emu_two_cmdb_fifo_pfull(unsigned int uemu_two_cmdb_fifo_pfull);
int iSetEMU_SET_ADD_SAMETIME_emu_set_add_smaetime(unsigned int uemu_set_add_smaetime);
int iSetEMU_STREAM_PFULL_emu_stream_irq_replace(unsigned int uemu_stream_irq_replace);
int iSetEMU_STREAM_IRQ_REPLACE_emu_stream_pfull(unsigned int uemu_stream_pfull);
int iSetEMU_STREAM_TOUT_emu_stream_irq_tout(unsigned int uemu_stream_irq_tout);

#endif // __GIC_EMU_REGS_C_UNION_DEFINE_H__
